package co.edu.eam.persitencia.entidades;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 * Entidad que representa el detalle de la orden medica.
 *
 */
@NamedQueries({
    @NamedQuery(name=DetalleOrdenMedica.CONSULTA_LISTAR_DETALLEORDENMEDICA,query=("SELECT detalle FROM DetalleOrdenMedica detalle")),
})
@Entity
@Table(name = "Clinica_DetalleOrdenMedica")
public class DetalleOrdenMedica implements Serializable {

     public static final String CONSULTA_LISTAR_DETALLEORDENMEDICA="DetalleOrdenMedica.listarDetalleOrdenMedica";
    /**
     * Identificador unico de la entidad.
     */
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="DetalleOrdenMedica_Id")
    private Long id;
    /**
     * Cantidad del detalle de la orden medica.
     */
    @Column(name="DetalleOrdenMedica_cantidad")
    private Integer cantidad;
    /**
     * Observación del detalle de la orden medica.
     */
    @Column(name="DetalleOrdenMedica_Observacion")
    private String observacion;
    /**
     * Orden medica a la cual esta asociada el detalle.
     */
    @ManyToOne
    @JoinColumn(name="DetalleOrdenMedica_OredenMedica")
    private OrdenMedica ordenMedica;
    /**
     * Procedimiento que tiene el detalle de la orden medica.
     */
    @ManyToOne
    @JoinColumn(name="DetalleOrdenMedica_Procedimiento")
    private Procedimiento procedimiento;

    /**
     * Constructor sin parametros.
     */
    public DetalleOrdenMedica() {
        super();
    }

    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the cantidad
     */
    public Integer getCantidad() {
        return cantidad;
    }

    /**
     * @param cantidad the cantidad to set
     */
    public void setCantidad(Integer cantidad) {
        this.cantidad = cantidad;
    }

    /**
     * @return the observacion
     */
    public String getObservacion() {
        return observacion;
    }

    /**
     * @param observacion the observacion to set
     */
    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    /**
     * @return the ordenMedica
     */
    public OrdenMedica getOrdenMedica() {
        return ordenMedica;
    }

    /**
     * @param ordenMedica the ordenMedica to set
     */
    public void setOrdenMedica(OrdenMedica ordenMedica) {
        this.ordenMedica = ordenMedica;
    }

    /**
     * @return the procedimento
     */
    public Procedimiento getProcedimiento() {
        return procedimiento;
    }

    /**
     * @param procedimento the procedimento to set
     */
    public void setProcedimiento(Procedimiento procedimiento) {
        this.procedimiento = procedimiento;
    }
    //TODO:falta toString
}
